// AutomovelTableModel.java
// Modelo da tabela Automovel
package visao;

import java.util.ArrayList;
import java.util.List;
import javax.swing.table.AbstractTableModel;
import modelo.Automovel;

/**
 * @author Diego Heusser
 * @author Eder Schramm
 */
public class AutomovelTableModel extends AbstractTableModel {

    private List<Automovel> linhas;
    private String[] colunas = new String[]{"ID", "Motorista", "Ano", "Cor", "Combustível", "Fabricante", "Modelo"};

    public AutomovelTableModel(List<Automovel> linhas) {
        if (linhas == null){
            linhas = new ArrayList<>();
        }
        this.linhas = linhas;
    }

    @Override
    public int getRowCount() {
        return linhas.size();
    }

    @Override
    public int getColumnCount() {
        return colunas.length;
    }

    @Override
    public Object getValueAt(int linha, int coluna) {
        if(!linhas.isEmpty()){
            switch(coluna){
                case 0:
                    return linhas.get(linha).getId();
                case 1:
                    return linhas.get(linha).getUmMotorista();
                case 2:
                    return linhas.get(linha).getAno();
                case 3:
                    return linhas.get(linha).getCor();
                case 4:
                    return linhas.get(linha).getCombustivel();
                case 5:
                    return linhas.get(linha).getFabricante();
                case 6:
                    return linhas.get(linha).getModelo();
                default :
                    return  null;
            }
        } else {
            return null;
        }
    }

    @Override
    public boolean isCellEditable(int i, int i1) {
        return false;
    }

    @Override
    public String getColumnName(int i) {
        return colunas[i];
    }
}
